package form;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.sql.Date;
import java.sql.SQLException;
import java.sql.Time;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.Danhgia;
import model.Mucdanhgia;

import dao.DanhgiaDAO;

/**
 * Servlet implementation class Xulythemdanhgia
 */
@WebServlet("/Xulythemdanhgia")
public class Xulythemdanhgia extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private String command, hinh, title, title_khongdau, mucdanhgia, ngayviet,
			thoigianviet, uudiem, nhuocdiem, noidung;
	private String err_image, err_title, err_titlekhongdau, err_mucdanhgia,
			err_ngayviet, err_thoigianviet, err_uudiem, err_nhuocdiem,
			err_noidung;
	private Date dateWriter;
	private Time timeWriter;
	private int mucdanhgia_id;
	private boolean check = true;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public Xulythemdanhgia() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		toDo(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		toDo(request, response);
	}

	private void toDo(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		command = request.getParameter("command");
		hinh = request.getParameter("hinh");
		title = request.getParameter("title");
		title_khongdau = request.getParameter("title_khongdau");
		mucdanhgia = request.getParameter("mucdanhgia");
		mucdanhgia_id = Integer.parseInt(mucdanhgia);

		uudiem = request.getParameter("uudiem");
		nhuocdiem = request.getParameter("nhuocdiem");
		noidung = request.getParameter("noidung");
		try {
			ngayviet = request.getParameter("ngayviet");
			dateWriter = Date.valueOf(ngayviet);
		} catch (IllegalArgumentException e) {
			err_ngayviet = "Vui lòng nhập ngày viết!";
			request.setAttribute("err_ngayviet", err_ngayviet);
		}

		thoigianviet = request.getParameter("thoigianviet");

		err_thoigianviet = "";
		if (thoigianviet == "") {
			err_thoigianviet = "Vui lòng nhập thời gian viết";
			request.setAttribute("err_thoigianviet", err_thoigianviet);
		} else {
			DateFormat dateFormat = new SimpleDateFormat("HH:mm");
			try {
				timeWriter = new Time(dateFormat.parse(thoigianviet).getTime());
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}

		request.setAttribute("hinh", hinh);
		request.setAttribute("title", title);
		request.setAttribute("title_khongdau", title_khongdau);
		request.setAttribute("mucdanhgia", mucdanhgia);
		request.setAttribute("ngayviet", ngayviet);
		request.setAttribute("thoigianviet", thoigianviet);
		request.setAttribute("uudiem", uudiem);
		request.setAttribute("nhuocdiem", nhuocdiem);
		request.setAttribute("noidung", noidung);

		err_image = "";
		if (hinh == "") {
			err_image = "Vui lòng chọn hình ảnh!";
			request.setAttribute("err_image", err_image);
		}

		err_title = "";
		if (title == "") {
			err_title = "Vui lòng nhập tiêu đề tin tức!";
			request.setAttribute("err_title", err_title);
		}

		err_titlekhongdau = "";
		if (title_khongdau == "") {
			err_titlekhongdau = "Vui lòng tiêu đề không dấu!";
			request.setAttribute("err_titlekhongdau", err_titlekhongdau);
		}

		err_mucdanhgia = "";
		if (mucdanhgia == "") {
			err_mucdanhgia = "Vui lòng chọn mục đánh giá!";
			request.setAttribute("err_mucdanhgia", err_mucdanhgia);
		}

		err_ngayviet = "";
		if (ngayviet == "") {
			err_ngayviet = "Vui lòng chọn ngày viết!";
			request.setAttribute("err_ngayviet", err_ngayviet);
		}

		err_uudiem = "";
		if (uudiem == "") {
			err_uudiem = "Vui lòng nhập ưu điểm!";
			request.setAttribute("err_uudiem", err_uudiem);
		}
		err_nhuocdiem = "";
		if (nhuocdiem == "") {
			err_nhuocdiem = "Vui lòng nhập nhược điểm!";
			request.setAttribute("err_nhuocdiem", err_nhuocdiem);
		}

		err_noidung = "";
		if (noidung == "") {
			err_noidung = "Vui lòng nhập nội dung";
			request.setAttribute("err_noidung", err_noidung);
		}

		if (err_image.length() == 0 && err_title.length() == 0
				&& err_titlekhongdau.length() == 0
				&& err_mucdanhgia.length() == 0 && err_ngayviet.length() == 0
				&& err_thoigianviet.length() == 0 && err_uudiem.length() == 0
				&& err_nhuocdiem.length() == 0 && err_noidung.length() == 0) {
			check = false;
		}

		if (check == true) {
			RequestDispatcher rd = request.getServletContext()
					.getRequestDispatcher("/Admin_themdanhgia.jsp");
			rd.forward(request, response);
		}

		if (command.equalsIgnoreCase("Add") && check == false) {
			try {
				DanhgiaDAO.insert(new Danhgia(hinh, title, title_khongdau,
						new Mucdanhgia(mucdanhgia_id), dateWriter, timeWriter,
						uudiem, err_nhuocdiem, noidung));
				RequestDispatcher rd = request.getServletContext()
						.getRequestDispatcher("/Admin_danhgia.jsp");
				rd.forward(request, response);
			} catch (ClassNotFoundException | SQLException e) {
				e.printStackTrace();
			}
		}

	}

}
